#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int i = 0;
typedef struct treenode
{
	int val;
	struct treenode* left;
	struct treenode* right;
}tree;
tree* creattree(char* str, tree** root)
{
	assert(str);
	assert(root);
	if (str[0] == '\0')
		return NULL;
	if (str[0] == '#'&&str[0] != '\0')
		return NULL;
		tree* tem = (tree*)malloc(sizeof(tree));
		assert(tem);
		tem->val = str[0];
		*root = tem;
		//return *root;
	(*root)->left = creattree(str + 1, &(*root)->left);
	(*root)->right = creattree(str + 1, &(*root)->right);
	return *root;
}
int main()
{
	i = 0;
	char* p = "ABD##E#H##CF##G##";
	tree* root = creattree(p, &root);
	return 0;
}
//int  fib(int n)
//{
//	if (n <= 2)
//		return n;
//	return fib(n - 1) + fib(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fib(n);
//	printf("%d", ret);
//	return 0;
//}
//#include<string.h>
//#include<stdio.h>
//int main()
//{
//	float arr[10] = { 8,0,8.5,8,7,7.5,9,9.5,8.5,10 };
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		scanf("%f", &arr[i]);
//	}
//	int j = 0;
//	for (i = 0; i < 9; i++)
//	{
//		for (j = 0; j < 9 - i; j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				float tem = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = tem;
//			}
//		}
//	}
//	float sum = 0;
//	for (i = 0; i < 10; i++)
//	{
//		sum = sum + arr[i];
//	}
//	sum = sum - arr[0] - arr[9];
//	sum = sum / 8;
//	printf("%.2f %.2f %.2f", arr[9], arr[0], sum);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int banana = 0;
//	float money = 0;
//	scanf("%d", &banana);
//	if (banana <= 5.0)
//	{
//		money = banana * 3.2;
//		printf("money=%.1f", money);
//	}
//	if (banana > 5.0 && banana <= 10.0)
//	{
//		money = banana * (3.2 * 0.7);
//		printf("money=%.1f", money);
//	}
//	if (banana > 10.0)
//	{
//		money = banana * (3.2 * 0.5);
//		printf("money=%.1f", money);
//	}
//	return 0;
//}
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	float high = 0;
//	float weight = 0;
//	scanf("%f,%f", &weight, &high);
//	float t = weight / pow(high, 2);
//	printf("t=%.2f", t);
//	return 0;
//}
//#include<stdio.h>
//long long_mypow(double x, double y)
//{
//	if (y == 0)
//		return 1;
//	double a, b, c = x;
//	for (a = 1; a < y; a++)
//	{
//		b = x;
//		c = c * b;
//	}
//	return (long int)c;
//}
//
//int main()
//{
//	double x = 0;
//	double y = 0;
//	scanf("%lf %lf", &x, &y);
//	
//	long int t= long_mypow(x, y);
//	printf("%ld", t);
//	return 0;
//}